//1004. 最大连续1的个数 III
// 思路：滑动窗口


#include <vector>
#include <algorithm>
using namespace std;

class Solution
{
public:
    int longestOnes(vector<int>& nums, int k)
    {
        int ret = 0;
        for(int left = 0, right = 0, zero = 0; right < nums.size(); right++)
        {
            if(nums[right] == 0) zero++;// 进窗口
            while(zero > k)// 判断
            {
                if(nums[left++] == 0) zero--;// 出窗口
            }
            ret = max(ret, right-left+1);// 更新结果
        }
        return ret;
    }
};